#define BEST_CONNECTED 2
unsigned int backend_state;
- /* Is this interface open or closed (down or up)? */
-#define UST_CLOSED 0
-#define UST_OPEN 1
- unsigned int user_state;
-
/* Receive-ring batched refills. */
#define RX_MIN_TARGET 8
#define RX_DFL_MIN_TARGET 64
memset(&np->stats, 0, sizeof(np->stats));
- np->user_state = UST_OPEN;
-
network_alloc_rx_buffers(dev);
np->rx.sring->rsp_event = np->rx.rsp_cons + 1;
if (unlikely(netif_queue_stopped(dev)) &&
((np->tx.sring->req_prod - prod) < NET_TX_RING_SIZE) &&
!gnttab_empty_grant_references(&np->gref_tx_head)) {
- if (np->user_state == UST_OPEN)
+ if (likely(netif_running(dev)))
netif_wake_queue(dev);
}
}
spin_unlock_irqrestore(&np->tx_lock, flags);
if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx) &&
- (np->user_state == UST_OPEN))
+ likely(netif_running(dev)))
netif_rx_schedule(dev);
return IRQ_HANDLED;
static int network_close(struct net_device *dev)
{
struct netfront_info *np = netdev_priv(dev);
- np->user_state = UST_CLOSED;
netif_stop_queue(np->netdev);
return 0;
}
notify_remote_via_irq(np->irq);
network_tx_buf_gc(dev);
- if (np->user_state == UST_OPEN)
+ if (netif_running(dev))
netif_start_queue(dev);
spin_unlock(&np->rx_lock);
IPRINTK("<vif handle=%u %s(%s) evtchn=%u tx=%p rx=%p>\n",
np->handle,
be_state_name[np->backend_state],
- np->user_state ? "open" : "closed",
+ netif_running(np->netdev) ? "open" : "closed",
np->evtchn,
np->tx,
np->rx);
np = netdev_priv(netdev);
np->backend_state = BEST_CLOSED;
- np->user_state = UST_CLOSED;
np->handle = handle;
np->xbdev = dev;